package com.iamteer.d_c3p0;

import java.sql.Connection;

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class App {
	// 1. 硬编码方式使用 C3P0 连接池管理连接
	@Test
	public void testCode() throws Exception {
		// 创建连接池核心工具类
		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		// 设置连接参数：url、驱动、用户、密码、初始连接数、最大连接数、超时
		dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/jdbc_demo");
		dataSource.setDriverClass("com.mysql.jdbc.Driver");
		dataSource.setUser("root");
		dataSource.setPassword("123456");
		dataSource.setInitialPoolSize(3);
		dataSource.setMaxPoolSize(6);
		dataSource.setMaxIdleTime(1000);

		// ----> 从连接池对象中，获取连接对象
		Connection con = dataSource.getConnection();
		// 执行更新
		con.prepareStatement("insert into admin(userName,pwd) values('John','111111')").executeUpdate();
		// 关闭
		con.close();
	}
	
	// 2. XML 配置方式使用 C3P0 连接池管理连接
	@Test
	public void testXML() throws Exception{
		// 创建 C3P0 连接池核心工具类
		// 自动加载 src 下 C3P0 的配置文件[C3P0-config.xml]
		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		// 获取连接
		Connection con = dataSource.getConnection();
		// 执行更新
		con.prepareStatement("insert into admin(userName,pwd) values('Dan','111111')").executeUpdate();
		//关闭
		con.close();
	}
}
